import tensorflow as tf

#tensorflow2.0以上，不再以计算图为中心，回归编程的常规习惯，定义或计算立即可看到结果，不再通过创建session来执行，得到结果
#作业：深度一的第一单元关于tf的基本运算内容，用tf2.0去重新练习

# 常量值不可以改变，常量的重新赋值相当于创造新的内存空间
c = tf.constant([1.0,2.0])
print(c)   #tf2.0直接输出结果
print(id(c))  #输出常量c的内部id
c = c + tf.constant([1.0,1.0])
# c.assign_add([1.0, 1.0]) # 常量不能重复赋值
print(c)   #tf2.0直接输出结果
print(id(c))  #输出常量c的内部id发生变化

# 变量的值可以改变，可以通过assign, assign_add等方法给变量重新赋值
v = tf.Variable([1.0,2.0],name = "v")   #定义变量v
print(v)     #tf2.0直接输出结果
print(id(v))  #输出变量v的内部id
v.assign_add([1.0,1.0]) # 变量可以使用: assign_add先相加，然后赋值
print(v)
print(id(v))   #输出变量v的内部id未发生变化